package org.example.pet.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

/**
 * 发送邮件工具类
 */
@Component
@Slf4j
public class SMSUtils {
    @Autowired
    private JavaMailSender javaMailSender;
    
    // 发送人邮箱
    @Value("${spring.mail.username}")
    private String fromEmail;

    /**
     * 发送注册成功通知邮件
     * @param toEmail 用户邮箱
     * @param username 用户名
     */
    public void sendRegNotifyMail(String toEmail, String username) {
        try {
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");

            // 发送人
            helper.setFrom(fromEmail);
            // 接收人
            helper.setTo(toEmail);
            // 邮件标题
            helper.setSubject("【宠物领养管理系统】您的领养申请已通过❗");
            // 邮件内容（支持HTML）
            String content = String.format(
                    "<div>您好，%s！</div>" +
                            "<div>您的宠物领养申请已审核通过。重要提醒：请于3个自然日内联系管理员确认领养时间、所需材料等详情，逾期可能影响领养资格。</div>" +
                            "<div>及时对接，早日接您的专属小毛孩回家～</div>",
                    username
            );
            helper.setText(content, true);

            // 发送邮件
            javaMailSender.send(mimeMessage);
        } catch (MessagingException e) {
            log.error("邮件发送失败：{}", e.getMessage());
            throw new RuntimeException("注册后邮件发送失败", e);
        }
    }
}
